package calculadora;

/**
 *
 * @author Diego
 */
public class StackCircle<E> implements Stack<E>{
    private nodo<E> cab= null;
        private int cont=0;
        public void push(E item){
            nodo nuevo= new nodo();
            nuevo.dato=item;
            if (cab!=null){
                nuevo.sic=cab.sic;
                cab.sic=nuevo;
                cont++;
            }
            else{
                nuevo.sic=nuevo;
                cab=nuevo;
            }
        }
	   
        public E pop(){
            cont--;
            nodo<E> tmp=cab.sic;
            E aux=tmp.dato;
            cab.sic=cab.sic.sic;
            tmp.sic=null;
            tmp=null;
            return aux;
        }
	   
	public E peek(){
            E aux=cab.sic.dato;
            return aux; 
        }
	   
	public boolean empty(){
            return size()==0;
        }
	   
	public int size(){
            return cont;
        }
}
